// pages/video/video.js
import request from '../../utils/request'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //导航的标签数据
    videoGroupList: [],
    navId: '', //导航的标识
    vedioList: [],
    videoId: '',//视频标识
    videoUpdateTime: [],//记录video播放的时长
    isTrriger:false //是否完成刷新
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getvideoGroupList();

  },
  //  获取标签栏
  async getvideoGroupList() {
    const videoGroupList = await request('/video/group/list')
    this.setData({
      videoGroupList: videoGroupList.data.slice(0, 13),
      navId:videoGroupList.data[0].id
    })
    this.getVedioList(this.data.navId)
  },

  //点击切换导航栏
  changeNav(event) {

    let navId = event.currentTarget.id;
    this.setData({
      //将字符串转换为number类型
      navId: navId,
      vedioList:[]
    })
    // 显示正在加载
    wx.showLoading({
      title: '正在加载',
    })

    //动态获取当前导航的视频列表
    this.getVedioList(navId)
  },

  //获取视频列表
  async getVedioList(navId) {
    const vedioListData = await request('/video/group', { id: navId })
    wx.hideLoading()
    let index = 0;
    let vedioList = vedioListData.datas.map(item => {
      item.id = index++
      return item
    })
    this.setData({
      vedioList
    })
  },

  //视频点击事件,点击新的视频会暂停其他视频的播放
  handlePlay(event) {

    let vid = event.currentTarget.id
    //关闭上一个视频
    //this.vid!==vid && this.videoContext && this.videoContext.stop()
   // this.vid = vid;
    this.setData({
      videoId:vid
    })
    //创建控制video对象的实例
    this.videoContext = wx.createVideoContext(vid)
    let { videoUpdateTime } = this.data
    let videoItem = videoUpdateTime.find(item=> item.vid === vid)
    if (videoItem) {
      this.videoContext.seek(videoItem.currentTime);
    }


  },

  //记录视频播放时间
  handleTimeUpdate(event) {
    let vedioTimeObj = {
      vid: event.currentTarget.id,
      currentTime: event.detail.currentTime
    }
    let { videoUpdateTime } = this.data
    let videoItem = videoUpdateTime.find(item => item.vid === vedioTimeObj.vid)
    if (videoItem) {
      videoItem.currentTime = event.detail.currentTime
    } else {
      videoUpdateTime.push(vedioTimeObj)
    }
    this.setData({
      videoUpdateTime
    })
  },
  //视频播放结束后调用
  handleEnded(event) {
    let { videoUpdateTime } = this.data
    let index = videoUpdateTime.findIndex(item=>item.vid === event.currentTarget.id)
    videoUpdateTime.splice(index, 1)
    this.setData({
      videoUpdateTime
    })
  },

  //下拉刷新回调函数
  refresher() {

    //获取最新视频列表数据
    this.getVedioList(this.data.navId)

    this.setData({
      isTrriger:false
    })
  },
  //滑动到底部部加载
  handleToLower() {
     wx.showToast({
       title: '由于网易云音乐未开放相应的接口数据，这个需求完成不了...',
       icon:'none'
     })
  },

   //跳转搜索界面
  toSearch() {
    wx.navigateTo({
      url: '/pages/search/search',
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },


  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log('触发界面的下拉刷新');
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function ({ from }) {
    if (from === 'button') {
      return {
      title: '来自button的转发',
      page: '/pages/video/video',
      imageUrl: '/static/images/nvsheng.jpg'
    }
    } else {
      return {
      title: '来自button的转发',
      page: '/pages/video/video',
      imageUrl: '/static/images/nvsheng.jpg'
    }
    }

  }
})